home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / MPW Oberon 2.1168 / OInterfaces / EPPC.mod < prev    next >
Encoding:
Text File  |  1995-08-10  |  4.0 KB  |  121 lines  |  [TEXT/MPS ]

  1. (*
  2.      File:        EPPC.mod
  3.  
  4.      Contains:    High Level Event Manager Interfaces.
  5.  
  6.      Version:    Technology:    System 7.5
  7.                  Package:    Universal Interfaces 2.0 in “MPW Latest” on ETO #17
  8.  
  9.      Copyright:    © 1984-1995 by Apple Computer, Inc.
  10.                  All rights reserved.
  11.  
  12.      Bugs?:        If you find a problem with this file, use the Apple Bug Reporter
  13.                  stack.  Include the file and version information (from above)
  14.                  in the problem description and send to:
  15.                      Internet:    apple.bugs.applelink.apple.com
  16.                      AppleLink:    APPLE.BUGS
  17.  
  18. *)
  19.  
  20. (*$TAGS-*)
  21. (*$CALLING PASCAL*)
  22. MODULE EPPC;
  23.  
  24. IMPORT SYSTEM, Types, PPCToolbox, Processes, Events;
  25.  
  26. (* $PUSH*)
  27. (* $ALIGN MAC68K*)
  28. (* $LibExport+*)
  29.  
  30. CONST
  31.     kHighLevelEvent*                = 23;
  32. (* postOptions currently supported *)
  33.     receiverIDMask*                = $0000F000;
  34.     receiverIDisPSN*                = $00008000;
  35.     receiverIDisSignature*        = $00007000;
  36.     receiverIDisSessionID*        = $00006000;
  37.     receiverIDisTargetID*        = $00005000;
  38.     systemOptionsMask*            = $00000F00;
  39.     nReturnReceipt*                = $00000200;
  40.     priorityMask*                = $000000FF;
  41.     nAttnMsg*                    = $00000001;
  42. (* constant for return receipts *)
  43.     HighLevelEventMsgClass*        = LONG("jaym");
  44.     rtrnReceiptMsgID*            = LONG("rtrn");
  45.     msgWasPartiallyAccepted*        = 2;
  46.     msgWasFullyAccepted*            = 1;
  47.     msgWasNotAccepted*            = 0;
  48.  
  49.  
  50. TYPE
  51.     TargetID* = RECORD
  52.         sessionID*:                LONGINT;
  53.         name*:                    PPCToolbox.PPCPortRec;
  54.         location*:                PPCToolbox.LocationNameRec;
  55.         recvrName*:                PPCToolbox.PPCPortRec;
  56.     END;
  57.  
  58.     TargetIDPtr* = POINTER TO TargetID;
  59.     TargetIDHandle* = HANDLE TO TargetID (*ΔΔ POINTER TO TargetIDPtr*);
  60.     TargetIDHdl* = HANDLE TO TargetID (*ΔΔ POINTER TO TargetIDPtr*);
  61.  
  62.     SenderID* = TargetID;
  63.  
  64.     SenderIDPtr* = POINTER TO SenderID;
  65.  
  66.     HighLevelEventMsg* = RECORD
  67.         HighLevelEventMsgHeaderLength*: INTEGER;
  68.         version*:                INTEGER;
  69.         reserved1*:                LONGINT;
  70.         theMsgEvent*:            Events.EventRecord;
  71.         userRefcon*:                LONGINT;
  72.         postingOptions*:            LONGINT;
  73.         msgLength*:                LONGINT;
  74.     END;
  75.  
  76.     HighLevelEventMsgPtr* = POINTER TO HighLevelEventMsg;
  77.     HighLevelEventMsgHandle* = HANDLE TO HighLevelEventMsg (*ΔΔ POINTER TO HighLevelEventMsgPtr*);
  78.     HighLevelEventMsgHdl* = HANDLE TO HighLevelEventMsg (*ΔΔ POINTER TO HighLevelEventMsgPtr*);
  79.  
  80.     GetSpecificFilterProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; msgBuff: HighLevelEventMsgPtr; (*CONST*)VAR sender: TargetID): BOOLEAN;
  81.     GetSpecificFilterUPP* = Types.UniversalProcPtr;
  82.  
  83. CONST
  84.     uppGetSpecificFilterProcInfo* = $00000FD0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param): 1 byte result; *)
  85.  
  86. PROCEDURE NewGetSpecificFilterProc*(userRoutine: GetSpecificFilterProcPtr): GetSpecificFilterUPP;
  87.     (*$IF NOT GENERATINGCFM *)
  88.     INLINE PASCAL $2E9F;
  89.     (*$END*)
  90.  
  91. PROCEDURE CallGetSpecificFilterProc*(yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; msgBuff: HighLevelEventMsgPtr; (*CONST*)VAR sender: TargetID; userRoutine: GetSpecificFilterUPP): BOOLEAN;
  92.     (*$IF NOT GENERATINGCFM*)
  93.     INLINE PASCAL $205F, $4E90;
  94.     (*$END*)
  95.  
  96. PROCEDURE PostHighLevelEvent*((*CONST*)VAR theEvent: Events.EventRecord; receiverID: Types.Ptr; msgRefcon: LONGINT; msgBuff: Types.Ptr; msgLen: LONGINT; postingOptions: LONGINT): Types.OSErr;
  97.     (*$IF NOT GENERATINGCFM*)
  98.     INLINE PASCAL $3F3C, $0034, $A88F;
  99.     (*$END*)
  100. PROCEDURE AcceptHighLevelEvent*(VAR sender: TargetID; VAR msgRefcon: LONGINT; msgBuff: Types.Ptr; VAR msgLen: LONGINT): Types.OSErr;
  101.     (*$IF NOT GENERATINGCFM*)
  102.     INLINE PASCAL $3F3C, $0033, $A88F;
  103.     (*$END*)
  104. PROCEDURE GetProcessSerialNumberFromPortName*((*CONST*)VAR portName: PPCToolbox.PPCPortRec; VAR pPSN: Processes.ProcessSerialNumber): Types.OSErr;
  105.     (*$IF NOT GENERATINGCFM*)
  106.     INLINE PASCAL $3F3C, $0035, $A88F;
  107.     (*$END*)
  108. PROCEDURE GetPortNameFromProcessSerialNumber*(VAR portName: PPCToolbox.PPCPortRec; (*CONST*)VAR pPSN: Processes.ProcessSerialNumber): Types.OSErr;
  109.     (*$IF NOT GENERATINGCFM*)
  110.     INLINE PASCAL $3F3C, $0046, $A88F;
  111.     (*$END*)
  112. PROCEDURE GetSpecificHighLevelEvent*(aFilter: GetSpecificFilterUPP; yourDataPtr: (*ΔΔUNIVΔΔ*) Types.Ptr; VAR err: Types.OSErr): BOOLEAN;
  113.     (*$IF NOT GENERATINGCFM*)
  114.     INLINE PASCAL $3F3C, $0045, $A88F;
  115.     (*$END*)
  116.  
  117. (* $ALIGN RESET*)
  118. (* $POP*)
  119.  
  120.  END EPPC.
  121.